package com.SMP.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.SMP.dao.PermissionMapper;
import com.SMP.model.Permission;

@Service
public class PermissionService {

	@Autowired
	PermissionMapper permissionMapper;
	
	/**
	 * @author WYHY
	 * @param id 管理员id  菜单查询
	 * */
	public List<Map<String, Object>> selMenuM(String id) {
		List<Permission> list=permissionMapper.selectMenuF(Integer.parseInt(id),0);
		List<Map<String, Object>> menuF=new ArrayList<Map<String, Object>>();
		for(int i=0;i<list.size();i++){
			Permission permission=new Permission();
			permission=list.get(i);
			Map<String, Object> mapF=new HashMap<String, Object>();
			mapF.put("text", permission.getPermissionname());
			mapF.put("href", permission.getHref());
			if (permission.getPermissioncode().equals("one")) {
				menuF.add(mapF);
			}else{
				int son=Integer.parseInt(permission.getPermissioncode());
				List<Permission> list1=permissionMapper.selectMenuF(Integer.parseInt(id),son);
				List<Map<String, Object>> menuS=new ArrayList();
				for (int j = 0; j < list1.size(); j++) {
					Map<String, Object> mapS=new HashMap<String, Object>();
					Permission permission1=new Permission();
					permission1=list1.get(j);
					mapS.put("text", permission1.getPermissionname());
					mapS.put("href", permission1.getHref());
					menuS.add(mapS);
				}
				Map mapst=new HashMap();
				mapst.put("expanded", false);
				mapF.put("state", mapst);
				mapF.put("nodes", menuS);
				menuF.add(mapF);
			}
		}
		return menuF;
	}
	
	/**
	 * @author WYHY
//	 * @param id 管理员id  权限树查询
	 * */
	public List<Permission> selTree() {
		List<Permission> list=permissionMapper.selectAll();
//		List<Map<String, Object>> menuF=new ArrayList<Map<String, Object>>();
//		for(int i=0;i<list.size();i++){
//			Permission permission=new Permission();
//			permission=list.get(i);
//			Map<String, Object> mapF=new HashMap<String, Object>();
//			mapF.put("text", permission.getPermissionname());
//			mapF.put("href", permission.getId());
//			int son=Integer.parseInt(permission.getPermissioncode());
//			List<Permission> list1=permissionMapper.selectAll();
//			List<Map<String, Object>> menuS=new ArrayList<>();
//			for (int j = 0; j < list1.size(); j++) {
//				Map<String, Object> mapS=new HashMap<String, Object>();
//				Permission permission1=new Permission();
//				permission1=list1.get(j);
//				mapS.put("text", permission1.getPermissionname());
//				mapS.put("href", permission1.getId());
//				menuS.add(mapS);
//			}
//			mapF.put("nodes", menuS);
//			menuF.add(mapF);
//		}
		return list;
	}

}
